package cn.tedu.fruitshop.service;

import cn.tedu.fruitshop.pojo.dto.ItemAddNewDTO;
import cn.tedu.fruitshop.pojo.dto.ItemCategoryAddNewDTO;
import cn.tedu.fruitshop.pojo.dto.ItemCategoryUpdateDTO;
import cn.tedu.fruitshop.pojo.entity.ItemCategoryTree;
import cn.tedu.fruitshop.pojo.vo.ItemCategoryListItemVO;
import cn.tedu.fruitshop.pojo.vo.ItemCategoryStandardVO;
import cn.tedu.fruitshop.pojo.vo.ItemCategoryTreeVO;
import cn.tedu.fruitshop.pojo.vo.ItemListItemVO;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Repository
@Transactional
public interface IItemCategoryService {
    //插入商品分类数据
    void addNew(ItemCategoryAddNewDTO itemCategoryAddNewDTO);
    //删除数据
    void delete(Integer id);
    //查询商品分类列表
    List<ItemCategoryListItemVO> list();
    /**
     * 根据商品分类id，修改商品分类详情
     *
     * @param id             商品分类id
     * @param itemCategoryUpdateDTO 新的商品分类数据
     */
    void updateInfoById(Integer id, ItemCategoryUpdateDTO itemCategoryUpdateDTO);

    //查询商品类别详情
    ItemCategoryStandardVO getStandardVO(Integer id);

    //查询商品分类列表
    List<ItemCategoryTree> listByParentId();

    //查询商品分类列表
    List<ItemCategoryTree> listByTwoItem(Integer twoItem);

    ItemCategoryTreeVO<ItemCategoryTree> itemCategoryTree();
}
